package com.msun.dao;

import com.github.pagehelper.Page;
import com.msun.pojo.Menu;
import com.msun.pojo.Permission;
import com.msun.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface RoleDao {
    Page<Role> selectByCondition(String queryString);
    Set<Role> findByUserId(Integer id);
    Role findById(Integer id);
    @Deprecated
    Set<Role> findByUserId2(Integer id);
    void addRefer(@Param("userId") Integer userId, @Param("roleId") Integer roleId);
    void deleteRefer(@Param("userId") Integer userId);
    int fingReferByParentMenuId(Integer parentMenuId);

    // todo

    void insertRoleIdAndpermission(Map<String, Integer> map);

    void insertRoleIdAndMenu(Map<String, Integer> map);

    Long findCountFoodById(Integer orderId);

    void deletePermissionById(Integer orderId);

    Long findCountSportsById(Integer orderId);

    void deleteMenuById(Integer orderId);

    void addRole(Role role);

    List<Permission> findAllPermissions();

    List<Menu> findAllMenus();

    List<Integer> findPermissionIdsByRoleId(Integer id);

    List<Integer> findMenuIdsByRoleId(Integer id);

    void delete(Integer id);

    void edit(Role role);
    // 邓昌
    List<Role> findAllCheckGroupByUserId(@Param("userId") Integer userId);
}
